package hash.leetcode;

/**
 * 字符串中唯一的字符
 */
public class Num387 {

    public int firstUniqChar(String s) {
          //由于s中只包含小写字母，因此就将每个字符出现的频次保存到整型数组中
        int[] arr=new int[26];
        //遍历字符串，将字符出现的频次保存到arr数组中
        for (int i = 0; i <s.length() ; i++) {
            char c=s.charAt(i);
            //按照-‘a’的规则将每一个小写字母转换为26个数字中的一个
            //'c'-'a'=2   'a'-'a'=0
            arr[c-'a']++;
        }
        //遍历字符串，在arr数组中找到出现次数唯一的字符
        int retindex=-1;
        for (int i = 0; i < s.length(); i++) {
            char c=s.charAt(i);
            if (arr[c-'a']==1){
                retindex=i;
                break;
            }
        }
        return retindex;
    }
}
